#pragma once

#include "guildservicewelfare.service.GuildServiceWelfare.h"

class GuildServiceWelfareImpl : public GuildServiceWelfare {
public:
//implementation->
    GuildServiceWelfareImpl();
    virtual ~GuildServiceWelfareImpl();
    virtual bool onAfterFork(rpc::Rpc* rpc) override;
    virtual bool onBeforeDestory(rpc::Rpc* rpc) override;
    virtual void onTick(std::time_t ms) override;
    virtual void onServiceCall(rpc::StubCallPtr callPtr) override;
    virtual std::shared_ptr<SendGuildRedEnvelopeRes> SendGuildRedEnvelope(rpc::StubCallPtr call, const SendGuildRedEnvelopeArg&) override;
    virtual std::shared_ptr<GrabGuildRedEnvelopeRes> GrabGuildRedEnvelope(rpc::StubCallPtr call, const GrabGuildRedEnvelopeArg&) override;
    virtual std::shared_ptr<SetGuildAuctionOfferRes> SetGuildAuctionOffer(rpc::StubCallPtr call, const SetGuildAuctionOfferArg&) override;
    virtual std::shared_ptr<SetGuildAuctionAttentionRes> SetGuildAuctionAttention(rpc::StubCallPtr call, const SetGuildAuctionAttentionArg&) override;
    virtual std::shared_ptr<LoginRes> Login(rpc::StubCallPtr call, const LoginArg&) override;
    virtual void Logout(rpc::StubCallPtr call, const LogoutNtfData&) override;
    virtual std::shared_ptr<AddGuildRepositoryCellItemRes> AddGuildRepositoryCellItem(rpc::StubCallPtr call, const AddGuildRepositoryCellItemArg&) override;
    virtual std::shared_ptr<DelGuildRepositoryCellItemRes> DelGuildRepositoryCellItem(rpc::StubCallPtr call, const DelGuildRepositoryCellItemArg&) override;
    virtual std::shared_ptr<GetGuildWelfareAwardRes> GetGuildWelfareAward(rpc::StubCallPtr call, const GetGuildWelfareAwardArg&) override;
//implementation<-
};

